package org.dicr.util.jds.report;

import java.util.*;

import javax.swing.event.*;

import org.dicr.util.jds.module.*;

/***********************************************************************************************************************
 * @author Igor A Tarasov me@dicr.dn.ua
 * @version 030115
 **********************************************************************************************************************/
public interface DataReport {
	/** возвращает имя отчета * */
	public String getName();

	/** Установка модуля данных */
	public void setDataModule(DicrDataModule datamodule);

	/** Возвращает модуль данных */
	public DicrDataModule getDataModule();

	/** Возвращает документы */
	public Collection<DataReportDocument> getDocuments();

	/** Возвращает список ошибок генерации документов */
	public List<String> getErrors();

	/** Добавляет слушателя изменения отчета */
	public void addChangeListener(ChangeListener l);

	/** Удаляет слушателя изменения отчета */
	public void removeChangeListener(ChangeListener l);

	/** Оповещает слушателей об изменении документов */
	public void fireChangeEvent();
}
